@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

echo 🚀 开始构建 Chrome 扩展...

:: 清理之前的构建
if exist "dist" (
    echo 🧹 清理旧的构建文件...
    rmdir /s /q "dist"
)

:: 检查 Node.js 和 npm
where npm >nul 2>nul
if %errorlevel% neq 0 (
    echo ❌ 错误：未找到 npm，请确保已安装 Node.js
    pause
    exit /b 1
)

:: 安装依赖（如果需要）
if not exist "node_modules" (
    echo 📦 安装依赖...
    call npm install
    if %errorlevel% neq 0 (
        echo ❌ 依赖安装失败
        pause
        exit /b 1
    )
)

:: 类型检查
echo 🔍 执行 TypeScript 类型检查...
call npm run type-check
if %errorlevel% neq 0 (
    echo ⚠️  类型检查发现问题，但继续构建...
)

:: 代码检查
echo 🔍 执行 ESLint 代码检查...
call npm run lint
if %errorlevel% neq 0 (
    echo ⚠️  代码检查发现问题，但继续构建...
)

:: 构建项目
echo 🏗️  构建项目...
call npm run build
if %errorlevel% neq 0 (
    echo ❌ 构建失败
    pause
    exit /b 1
)

:: 检查构建结果
if not exist "dist" (
    echo ❌ 构建失败：未找到 dist 目录
    pause
    exit /b 1
)

:: 检查必要文件
set "files_missing=0"
set "required_files=manifest.json background.js content-script.js"
for %%f in (%required_files%) do (
    if not exist "dist\%%f" (
        echo ❌ 构建失败：未找到必要文件 %%f
        set "files_missing=1"
    )
)

if !files_missing! equ 1 (
    pause
    exit /b 1
)

:: 复制图标文件
if exist "icons" (
    echo 📁 复制图标文件...
    xcopy /e /i /y "icons" "dist\icons" >nul
)

:: 创建扩展包
where powershell >nul 2>nul
if %errorlevel% equ 0 (
    echo 📦 创建扩展包...
    powershell -Command "Compress-Archive -Path 'dist\*' -DestinationPath 'chrome-extension.zip' -Force"
    if exist "chrome-extension.zip" (
        echo ✅ 扩展包已创建：chrome-extension.zip
    )
)

echo.
echo ✅ 构建完成！
echo.
echo 📁 构建文件位于 dist\ 目录
echo 🔧 可以通过以下步骤安装扩展：
echo    1. 打开 Chrome 浏览器
echo    2. 访问 chrome://extensions/
echo    3. 开启开发者模式
echo    4. 点击'加载已解压的扩展程序'
echo    5. 选择 dist\ 目录
echo.
pause